package fa7.socialcode.service.impl;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import fa7.socialcode.dao.CategoriaDao;
import fa7.socialcode.dao.ConteudoDao;
import fa7.socialcode.dao.UsuarioDao;
import fa7.socialcode.model.Categoria;
import fa7.socialcode.model.Conteudo;
import fa7.socialcode.model.Usuario;
import fa7.socialcode.service.ConteudoManager;

@Service(value="conteudoManager")
public class ConteudoManagerImpl implements ConteudoManager {
	
	@Autowired
	ConteudoDao conteudoDao;
	@Autowired
	CategoriaDao categoriaDao;
	@Autowired
	UsuarioDao usuarioDao;
	
	public void setConteudoDao(ConteudoDao dao) {
	        this.conteudoDao = dao;
	    }
	
	public void setCategoriaDao(CategoriaDao categoriaDao) {
			this.categoriaDao = categoriaDao;
		}
	
	public List findCategorias(){
		return categoriaDao.findCategorias();
	}
		 
	public List findConteudos() {
	    return conteudoDao.findConteudos();
	}
	
	public List findConteudosByUsuarioId(Long usuarioId) {
		return conteudoDao.findConteudosByUsuarioId(Long.valueOf(usuarioId));
	}
	
	public Conteudo findConteudo(String conteudoId) {
	    return conteudoDao.findConteudo(Long.valueOf(conteudoId));
	}
	
	public void saveConteudo(Conteudo conteudo, Long categoriaID) {
		
				
		Categoria c = categoriaDao.findCategoria(categoriaID);
		conteudo.setCategoria(c);
		
		conteudo.setUltimaAtualizacao(new Date());
	    conteudoDao.saveConteudo(conteudo);
	}
	
	public void removeConteudo(String conteudoId) {
	    conteudoDao.removeConteudo(Long.valueOf(conteudoId));
	}
}
